package com.hjm.project.ShopOrder.ShopOrder.domain;

import com.hjm.framework.aspectj.lang.annotation.Excel;
import com.hjm.framework.web.domain.BaseEntity;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 订单对象 shop_order
 * 
 * @author ShopOrder
 * @date 2020-11-30
 */
public class ShopOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 是否是抢购订单:0 普通 1抢购 */
    @Excel(name = "是否是抢购订单:0 普通 1抢购")
    private Long serialLogo;

    /** 订单包含商品数量 */
    @Excel(name = "订单包含商品数量")
    private Long goodsNum;

    /** 订单支付日期 */
    @Excel(name = "订单支付日期")
    private String traceDate;

    /** 收货人姓名 */
    @Excel(name = "收货人姓名")
    private String takeName;

    /** 收货人手机号 */
    @Excel(name = "收货人手机号")
    private String takePhone;

    /** 收货地址 */
    @Excel(name = "收货地址")
    private String takeAddress;

    /** 省/市/区 */
    @Excel(name = "省/市/区")
    private String area;

    /** 物流查询次数 */
    @Excel(name = "物流查询次数")
    private Long queryCount;

    /** 订单支付时间 */
    @Excel(name = "订单支付时间")
    private String traceTime;

    /** 0成功 1失败 2待支付 */
    @Excel(name = "0成功 1失败 2待支付")
    private Long traceStatus;

    /** 订单超时时间 */
    @Excel(name = "订单超时时间")
    private String orderTimeout;

    /** 用户备注 */
    @Excel(name = "用户备注")
    private String remarks;

    /** 客服备注 */
    @Excel(name = "客服备注")
    private String customerRemarks;

    /** 关联商品表（goods_info）id */
    @Excel(name = "关联商品表", readConverterExp = "g=oods_info")
    private Long goodsId;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String mianTitle;

    /** 商品成本 */
    @Excel(name = "商品成本")
    private BigDecimal costPrice;

    /** 划线价格 */
    @Excel(name = "划线价格")
    private BigDecimal oldPrice;

    /** 重量 */
    @Excel(name = "重量")
    private String weight;

    /** 体积 */
    @Excel(name = "体积")
    private String volume;

    /** 净含量 */
    @Excel(name = "净含量")
    private String netContent;

    /** 物流表id */
    @Excel(name = "物流表id")
    private Long breakId;

    /** 运费 */
    @Excel(name = "运费")
    private String freightMoney;

    /** 商品单价 */
    @Excel(name = "商品单价")
    private BigDecimal goodsPrice;

    /** 优惠金额(订单总额) */
    @Excel(name = "优惠金额(订单总额)")
    private BigDecimal payAmount;

    /** 消费者编号 */
    @Excel(name = "消费者编号")
    private String customerNum;

    private String sn;


    /** 更新时间 */
    @Excel(name = "更新时间")
    private String updateDate;

    /** 创建时间 */
    @Excel(name = "创建时间")
    private String createDate;

    /** 支付流水号 */
    @Excel(name = "支付流水号")
    private String outTradeNo;

    /** 支付方式 1 微信   2支付宝 */
    @Excel(name = "支付方式 1 微信   2支付宝")
    private Long paymentWay;

    /** 订单状态：0 待确认 1：待收货 2：已完成 3：待发货 4:待付款 5已取消 6已退款 7 退款中 8 申请退款 9 强制关单 */
    @Excel(name = "订单状态：0 待确认 1：待收货 2：已完成 3：待发货 4:待付款 5已取消 6已退款 7 退款中 8 申请退款 9 强制关单")
    private Long orderStatus;

    /** 主键编号 */
    private Long id;

    /** 订单流水号 */
    @Excel(name = "订单流水号")
    private String orderNo;

    /** 订单总金额 */
    @Excel(name = "订单总金额")
    private BigDecimal totalAmount;


    private String expressId;
    private String expressOrderNo;
    private Integer hbRecord; // 0、撤销 1 划拨
    private String belongAgent; //所属资深总监
    private String belongName;  //所属资深总监名称

    public String getBelongAgent() {
        return belongAgent;
    }

    public void setBelongAgent(String belongAgent) {
        this.belongAgent = belongAgent;
    }

    public String getBelongName() {
        return belongName;
    }

    public void setBelongName(String belongName) {
        this.belongName = belongName;
    }

    public Integer getHbRecord() {
        return hbRecord;
    }

    public void setHbRecord(Integer hbRecord) {
        this.hbRecord = hbRecord;
    }

    public String getExpressId() {
        return expressId;
    }

    public void setExpressId(String expressId) {
        this.expressId = expressId;
    }

    public String getExpressOrderNo() {
        return expressOrderNo;
    }

    public void setExpressOrderNo(String expressOrderNo) {
        this.expressOrderNo = expressOrderNo;
    }

    public void setSerialLogo(Long serialLogo)
    {
        this.serialLogo = serialLogo;
    }

    public Long getSerialLogo()
    {
        return serialLogo;
    }
    public void setGoodsNum(Long goodsNum)
    {
        this.goodsNum = goodsNum;
    }

    public Long getGoodsNum()
    {
        return goodsNum;
    }
    public void setTraceDate(String traceDate)
    {
        this.traceDate = traceDate;
    }

    public String getTraceDate()
    {
        return traceDate;
    }
    public void setTakeName(String takeName)
    {
        this.takeName = takeName;
    }

    public String getTakeName()
    {
        return takeName;
    }
    public void setTakePhone(String takePhone)
    {
        this.takePhone = takePhone;
    }

    public String getTakePhone()
    {
        return takePhone;
    }
    public void setTakeAddress(String takeAddress)
    {
        this.takeAddress = takeAddress;
    }

    public String getTakeAddress()
    {
        return takeAddress;
    }
    public void setArea(String area)
    {
        this.area = area;
    }

    public String getArea()
    {
        return area;
    }
    public void setQueryCount(Long queryCount)
    {
        this.queryCount = queryCount;
    }

    public Long getQueryCount()
    {
        return queryCount;
    }
    public void setTraceTime(String traceTime)
    {
        this.traceTime = traceTime;
    }

    public String getTraceTime()
    {
        return traceTime;
    }
    public void setTraceStatus(Long traceStatus)
    {
        this.traceStatus = traceStatus;
    }

    public Long getTraceStatus()
    {
        return traceStatus;
    }
    public void setOrderTimeout(String orderTimeout)
    {
        this.orderTimeout = orderTimeout;
    }

    public String getOrderTimeout()
    {
        return orderTimeout;
    }
    public void setRemarks(String remarks)
    {
        this.remarks = remarks;
    }

    public String getRemarks()
    {
        return remarks;
    }
    public void setCustomerRemarks(String customerRemarks)
    {
        this.customerRemarks = customerRemarks;
    }

    public String getCustomerRemarks()
    {
        return customerRemarks;
    }
    public void setGoodsId(Long goodsId)
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId()
    {
        return goodsId;
    }
    public void setMianTitle(String mianTitle)
    {
        this.mianTitle = mianTitle;
    }

    public String getMianTitle()
    {
        return mianTitle;
    }
    public void setCostPrice(BigDecimal costPrice)
    {
        this.costPrice = costPrice;
    }

    public BigDecimal getCostPrice()
    {
        return costPrice;
    }
    public void setOldPrice(BigDecimal oldPrice)
    {
        this.oldPrice = oldPrice;
    }

    public BigDecimal getOldPrice()
    {
        return oldPrice;
    }
    public void setWeight(String weight)
    {
        this.weight = weight;
    }

    public String getWeight()
    {
        return weight;
    }
    public void setVolume(String volume)
    {
        this.volume = volume;
    }

    public String getVolume()
    {
        return volume;
    }
    public void setNetContent(String netContent)
    {
        this.netContent = netContent;
    }

    public String getNetContent()
    {
        return netContent;
    }
    public void setBreakId(Long breakId)
    {
        this.breakId = breakId;
    }

    public Long getBreakId()
    {
        return breakId;
    }
    public void setFreightMoney(String freightMoney)
    {
        this.freightMoney = freightMoney;
    }

    public String getFreightMoney()
    {
        return freightMoney;
    }
    public void setGoodsPrice(BigDecimal goodsPrice)
    {
        this.goodsPrice = goodsPrice;
    }

    public BigDecimal getGoodsPrice()
    {
        return goodsPrice;
    }
    public void setPayAmount(BigDecimal payAmount)
    {
        this.payAmount = payAmount;
    }

    public BigDecimal getPayAmount()
    {
        return payAmount;
    }
    public void setCustomerNum(String customerNum)
    {
        this.customerNum = customerNum;
    }

    public String getCustomerNum()
    {
        return customerNum;
    }
    public void setUpdateDate(String updateDate)
    {
        this.updateDate = updateDate;
    }

    public String getUpdateDate()
    {
        return updateDate;
    }
    public void setCreateDate(String createDate)
    {
        this.createDate = createDate;
    }

    public String getCreateDate()
    {
        return createDate;
    }
    public void setOutTradeNo(String outTradeNo)
    {
        this.outTradeNo = outTradeNo;
    }

    public String getOutTradeNo()
    {
        return outTradeNo;
    }
    public void setPaymentWay(Long paymentWay)
    {
        this.paymentWay = paymentWay;
    }

    public Long getPaymentWay()
    {
        return paymentWay;
    }
    public void setOrderStatus(Long orderStatus)
    {
        this.orderStatus = orderStatus;
    }

    public Long getOrderStatus()
    {
        return orderStatus;
    }
    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setOrderNo(String orderNo)
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo()
    {
        return orderNo;
    }
    public void setTotalAmount(BigDecimal totalAmount)
    {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getTotalAmount()
    {
        return totalAmount;
    }

    public String getSn() {
        return sn;
    }

    public void setSn(String sn) {
        this.sn = sn;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("serialLogo", getSerialLogo())
            .append("goodsNum", getGoodsNum())
            .append("traceDate", getTraceDate())
            .append("takeName", getTakeName())
            .append("takePhone", getTakePhone())
            .append("takeAddress", getTakeAddress())
            .append("area", getArea())
            .append("queryCount", getQueryCount())
            .append("traceTime", getTraceTime())
            .append("traceStatus", getTraceStatus())
            .append("orderTimeout", getOrderTimeout())
            .append("remarks", getRemarks())
            .append("customerRemarks", getCustomerRemarks())
            .append("goodsId", getGoodsId())
            .append("mianTitle", getMianTitle())
            .append("costPrice", getCostPrice())
            .append("oldPrice", getOldPrice())
            .append("weight", getWeight())
            .append("volume", getVolume())
            .append("netContent", getNetContent())
            .append("breakId", getBreakId())
            .append("freightMoney", getFreightMoney())
            .append("goodsPrice", getGoodsPrice())
            .append("payAmount", getPayAmount())
            .append("customerNum", getCustomerNum())
            .append("updateDate", getUpdateDate())
            .append("createDate", getCreateDate())
            .append("outTradeNo", getOutTradeNo())
            .append("paymentWay", getPaymentWay())
            .append("orderStatus", getOrderStatus())
            .append("id", getId())
            .append("orderNo", getOrderNo())
            .append("totalAmount", getTotalAmount())
            .toString();
    }
}
